--[[ 编码: WMS-111-11 名称: 盘点差异-显示前 作者:HAN 日期:2025-1-29 入口函数:BeforeGridShow 功能说明: --]] json = require ("json") mobox = require ("OILua_JavelinExt") m3 = require("oi_base_mobox") function BeforeGridShow ( strLuaDEID ) local nRet, strRetInfo local count_diff_objs local n, nCount, nIndex local state_name = {"","复盘"} nRet, count_diff_objs = m3.GetSysDataJson( strLuaDEID ) if ( nRet ~=0 ) then lua.Error( strLuaDEID, debug.getinfo(1), count_diff_objs ) end nCount = #count_diff_objs if (nCount == 0) then return end local obj, diff_move, b_state local row_data_set = {} strDataJson = '[' for n = 1, nCount do local row_item = {} obj = count_diff_objs[n] row_item.id = obj.id row_item.attrs = {} row_item.row_button_hidden = "差异转移" -- 获取 项目清单 对象属性 diff_move = '' b_state = 0 for nIndex = 1, #obj.attrs do local attr_value = {} attr_value.attr = obj.attrs[nIndex].attr attr_value.value = obj.attrs[nIndex].value if ( attr_value.attr == 'C_DIFF_MOVE' ) then diff_move = attr_value.value elseif ( attr_value.attr == 'N_B_STATE' ) then b_state = lua.StrToNumber( attr_value.value ) attr_value.value = state_name[b_state] if ( b_state == 2 ) then attr_value.bk_color = "#FFD700" attr_value.text_color = "#000000" end end -- b_state == 1 说明没有开始复盘 if ( b_state == 1 and diff_move == 'N') then row_item.row_button_hidden = "" end table.insert( row_item.attrs, attr_value ) end table.insert( row_data_set, row_item) end local action = { { action_type = "reset_data_attr", value = row_data_set } } nRet, strRetInfo = mobox.setAction(strLuaDEID, lua.table2str(action)) if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "setAction错误: "..strRetInfo) end end